package io;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
//InputStream
public class IODemo8 {
    public static void main(String[] args) throws IOException {
//        InputStream inputStream = null;
//        try{
//            //打开文件
//            inputStream = new FileInputStream("./text_new.txt");
//        }finally {
//            //关闭文件
//            inputStream.close();//释放了文件的相关资源
//        }
        //一旦代码出了try的代码块,就会由try自动调用inputStream的close(实现了Closeable接口的类才能才在try的代码块里)
        try(InputStream inputStream = new FileInputStream("./text_new.txt")){
           //读文件
            //1.一次读取一个字节
            while (true){
//                int b = inputStream.read();
//                if(b == -1){
//                    //说明文件读取完毕
//                    break;
//                }
//                System.out.printf("%x",b);
                //也可以一次读取若干个字节,一次读取若干个字节比一次读一个字节更高效(操作硬盘是低效的操作)
                byte[] buffer = new byte[1024];
                int n = inputStream.read(buffer);
                if(n == -1){
                  //说明文件读取完毕
                   break;
                }
                for (int i = 0; i < n; i++) {
                    System.out.printf("%x ",buffer[i]);

                }

            }


        }


    }
}
